import axios from "axios";
import router from "./router";
import Element from "element-ui";

// axios.defaults.baseURL = "http://localhost:8081"

// 创建请求实例
const request = axios.create({
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json;charset=utf-8'
    }
})
// 设置请求头
request.interceptors.request.use(config => {
    config.headers['Authorization'] = localStorage.getItem('token');
    return config;
})
// 请求结果
request.interceptors.response.use(response => {
    const res = response.data;
    // 状态码为200 直接返回结果数据
    if(res.code === 200){
        return response;
    } else {
        // 弹窗提示异常信息
        Element.Message.error(res.msg?res.msg:'系统异常')
        // promise失败回调
        return Promise.reject(response.data.msg)
    }
}, error => {// 请求失败，系统内部异常
    // 是否有失败信息
    if (error.response.data) {
        error.message = error.response.data.msg
    }
    if (error.response.status === 401) {
        router.push('/login')
    }
    Element.Message.error(error.message,{duration:3000})
    return Promise.reject(error.message)
});

export default request